home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / include / dev / RCS / worm.h,v < prev    next >
Text File  |  1988-06-21  |  2KB  |  89 lines

  1. head     1.1;
  2. access   ;
  3. symbols  ;
  4. locks    ; strict;
  5. comment  @ * @;
  6.  
  7.  
  8. 1.1
  9. date     88.06.21.12.07.49;  author ouster;  state Exp;
  10. branches ;
  11. next     ;
  12.  
  13.  
  14. desc
  15. @@
  16.  
  17.  
  18.  
  19. 1.1
  20. log
  21. @Initial revision
  22. @
  23. text
  24. @/*
  25.  * worm.h --
  26.  *
  27.  *    Definitions and macros for Write-Once Read Many (worm) disk
  28.  *     manipulation.
  29.  *
  30.  * Copyright (C) 1987 Regents of the University of California
  31.  * All rights reserved.
  32.  *
  33.  *
  34.  * $Header: worm.h,v 2.0 87/08/11 09:19:35 brent Exp $ SPRITE (Berkeley)
  35.  */
  36.  
  37. #ifndef _DEV_WORM
  38. #define _DEV_WORM
  39.  
  40. /*   
  41.  * worm specific commands:
  42.  *
  43.  *   IOC_WORM_COMMAND        Issue a worm specific command
  44.  *   IOC_WORM_STATUS        Return status info from a worm
  45.  */
  46. #define IOC_WORM            (3 << 16)
  47. #define IOC_WORM_COMMAND        (IOC_WORM | 0x1)
  48. #define IOC_WORM_STATUS            (IOC_WORM | 0x2)
  49.  
  50. /*
  51.  * Mag worm control, IOC_WORM_COMMAND
  52.  * The one IN parameter specifies a specific
  53.  * worm command and a repetition count.
  54.  */
  55. typedef struct Dev_WormCommand {
  56.     int command;
  57.     int count;
  58. } Dev_WormCommand;
  59.  
  60. #define IOC_WORM_NO_OP            1
  61.  
  62. /*
  63.  * Mag worm status, IOC_WORM_STATUS
  64.  * This returns status info from drives.
  65.  */
  66. typedef struct Dev_WormStatus {
  67.     int        statusReg;    /* Copy of device status register */
  68.     int        residual;    /* Residual after last command */
  69.     char    senseKey;    /* Sense key from last GetSense */
  70.     char    code2;        /* Additional sense code from last GetSense */
  71.     char    pad[2];
  72.     int        location;    /* logical block addr corresponding to error */
  73. } Dev_WormStatus;
  74.  
  75. /*
  76.  * Stubs to interface to Fs_IOControl
  77.  */
  78. extern ReturnStatus Ioc_WormStatus();
  79. extern ReturnStatus Ioc_WormCommand();
  80.  
  81. /*
  82.  * Types for worm controllers.  Not used now, since there's only a single
  83.  * type.
  84.  */
  85. #define DEV_WORM_RXT        0x1
  86.  
  87. #endif _DEV_WORM
  88. @
  89.